"""
图书管理系统 V1
使用列表存储，每次重新运行，数据都会初始化
"""

# 存储图书信息
books = []


# 主菜单
def menu():
    print(f"********** 欢迎使用图书管理系统 **********")
    print(f"1、查询图书")
    print(f"2、添加图书")
    print(f"3、删除图书")
    print(f"4、退出系统")
    return input("请输入您的选择：")


# 查询图书
def query(isShow):
    if isShow:
        print(f"*************** 查询图书 ***************")
    count = 1
    if len(books) > 0:
        print("序号\t书名\t作者")
        for book in books:
            print(f"{count}\t《{book[0]}》\t{book[1]}")
            count += 1
        if isShow:
            print(f"共{len(books)}本书！")
    else:
        print(f"目前一本书也没有哦！")
    return len(books)


# 添加图书
def add():
    print("*************** 添加图书 ***************")
    query(False)
    book = [input("请输入图书名："), input("请输入作者名：")]
    books.append(book)
    print("添加成功！")
    query(False)


# 删除图书
def delete():
    print("*************** 删除图书 ***************")
    count = query(False)
    if count == 0:
        print("快去添加图书吧！")
    else:
        num = int(input("请输入您要删除的图书序号："))
        if num > len(books):
            print("没有该图书！")
        else:
            book = books[num - 1]
            ch = input(f"您确定要删除《{book[0]}》吗（y/n）?")
            b = isDelete(ch, num)
            while b:
                ch = input()
                b = isDelete(ch, num)
    query(False)


# 确认是否删除图书
def isDelete(ch, num):
    if ch == 'y' or ch == 'Y':
        books.pop(num - 1)
        print("删除成功！")
        return False
    elif isDelete == 'n' or isDelete == 'N':
        print("图书已删除！")
        return False
    else:
        print("无法识别，请重新输入：")
        return True


# 程序执行入口
while True:
    choose = menu()
    if choose == '1':
        query(True)
    elif choose == '2':
        add()
    elif choose == '3':
        delete()
    else:
        break
